草庐IT

mongodb - Geonear 按距离和时间排序

全部标签

ruby - 如何对 YAML 文件进行排序?

我一直在尝试使用Ruby对i18n翻译YAML文件进行排序,以便我可以更好、更有条理地管理新翻译,但我一直在想是否有什么方法可以简化这项任务。我找到了一个YAML文件编写器,因此我可以将哈希写入文件,但我的问题是正确排序哈希。如果我得到散列h,h.sort会返回一个数组,但我仍然没有想出一个简单的方法来做到这一点。我有这样的YAML文件:pt-br:global:misc:total:"Total"all:"Todos"close:"Fechar"cancel:"Cancelar"crud:access:"Acessar"back:"Voltar"edit:"Editar"confir

arrays - 根据某些元素中可能为 nil 的属性对数组进行排序

我有一个对象数组[,,]我需要数组按时间排序,然后按值排序[,,]但是使用sort_by会抛出错误,因为时间为零。我现在正在使用一种丑陋的方式进行排序,但我相信有一个很好的方式来解决这个问题starred=[]@answers.each{|a|(starred 最佳答案 starred.sort_by{|a|[a?1:0,a]}当它必须比较两个元素时,它会比较一个数组。当Ruby比较数组(调用===方法)时,它比较第一个元素,只有当第一个元素相等时才转到第二个元素。?1:0保证,我们将Fixnum作为第一个元素,所以它应该没有错误。

ruby - 如何按不同顺序的多个条件进行排序?

我真的很想在没有猴子补丁的情况下处理这个问题,但我还没有找到其他选择。我有一个数组(在Ruby中),我需要按多个条件对其进行排序。我知道如何使用sort方法,并且我已经使用了使用选项数组按多个条件进行排序的排序技巧。但是,在这种情况下,我需要第一个条件进行升序排序,第二个条件进行降序排序。例如:ordered_list=[[1,2],[1,1],[2,1]]有什么建议吗?编辑:刚刚意识到我应该提到我不能轻易地比较第一个值和第二个值(我实际上是在处理对象属性)。所以对于一个简单的例子,它更像是:ordered_list=[[1,"b"],[1,"a"],[2,"a"]]

ruby-on-rails - 如何组合重叠的时间范围(时间范围联合)

我有一个包含多个时间范围的数组:[Tue,24May201108:00:00CEST+02:00..Tue,24May201113:00:00CEST+02:00,Tue,24May201116:30:00CEST+02:00..Tue,24May201118:00:00CEST+02:00,Tue,24May201108:00:00CEST+02:00..Tue,24May201109:00:00CEST+02:00,Tue,24May201115:30:00CEST+02:00..Tue,24May201118:00:00CEST+02:00]我想获得具有重叠时间范围组合的相同数组

ruby - 如何按键按字母顺序对 Ruby 哈希进行排序

我正在尝试按键按字母顺序对哈希进行排序,但如果不创建我自己的排序类,我似乎无法找到一种方法来做到这一点。如果它是一个整数,我发现下面的代码按值排序,我试图修改它但没有任何运气。temp["ninjas"]=36temp["pirates"]=12temp["cheese"]=222temp.sort_by{|key,val|key}我的目标是按键排序哈希,然后输出值。我将不得不使用不同的哈希顺序但相同的值多次执行此操作。 最佳答案 假设您希望输出是一个散列,它将按排序顺序遍历键,那么您就快完成了。Hash#sort_by返回一个Ar

ruby-on-rails - 按整数值对字符串数组进行排序

假设我有一个从1到10的未排序数组,如下所示...a=["3","5","8","4","1","2","9","10","7","6"]如果我对这个数组使用排序方法,它会返回这个...a.sort=["1","10","2","3","4","5","6","7","8","9"]如您所见,10出现在2之前,这是不正确的。我怎样才能对这些数字进行排序以使10正确显示?编辑:谢谢大家的回复。我应该更好地解释我的问题。我需要排序的数组用于电子商务价目表。所以数组出现如下...a=["0-10","11-20","21-30","31-40"etc.]因此字符串无法转换为整数。我应该在写问

ruby - `Dir.entries` 中的排序顺序

Dir.entries返回结果是否有固定/默认的排序顺序?我根据经验知道前两个条目是"."和"..". 最佳答案 根据Ruby语言文档,Dir.entries()不保证所列文件的任何特定顺序,因此如果您需要某种顺序,最好自己明确执行。例如,如果您需要按文件修改时间排序(从旧到新),您可以执行以下操作:Dir.entries('.').sort_by{|x|File.mtime(x)} 关于ruby-`Dir.entries`中的排序顺序,我们在StackOverflow上找到一个类似的问

JavaScript函数到当前时间(从时期)到最近的分钟

我一直在墙上撞到墙上,试图获得与此PHP片段相当的JavaScript:我一直在尝试这一点:vartimeInMin=newDate().getTime()/60000;vartimestamp=Math.round(timeInMin);varkey=md5(timestamp+'uniqueID');利用MD5脚本这里我只需要锁定和钥匙才能匹配。对我来说似乎很简单。我究竟做错了什么?看答案正如我之前所说的,如果时间不匹配,它将不会产生相同的哈希。在这种情况下,我要做的是找到将时间从PHP转移到客户端的方法,以便他们可以使用相同的时间。php侧:客户端:vartimestamp=getCoo

ruby - 在 Ruby 中对字符串数组进行排序

我在Ruby中学习了两种数组排序方法:array=["one","two","three"]array.sort.reverse!或:array=["one","two","three"]array.sort{|x,y|yx}我无法区分这两者。哪种方法更好,它们在执行上究竟有何不同? 最佳答案 这两行做同样的事情(创建一个新的数组,它是反向排序的)。主要争论是关于可读性和性能。array.sort.reverse!比array.sort{|x,y|yx}更具可读性-我想我们可以在这里达成共识。对于性能部分,我创建了一个快速基准测试脚

ruby - 排序:在 Ruby 中根据多个条件对数组进行排序

我有一个像这样的多维数组:[[name,age,date,gender][name,age,date,gender][..]]我想知道根据多个条件对该数组进行排序的最佳方法...例如,我将如何根据年龄先然后按姓名排序?我像这样摆弄sort方法:array.sort{|a,b|[a[1],a[0]][b[1],b[0]]}除此之外我并不真正理解这种语法,我没有得到我期望的结果。我应该使用sort方法吗?我应该通过映射数组来单独比较结果吗? 最佳答案 您应该始终使用sort_by进行键控排序。它不仅更具可读性,而且效率也更高。此外,为了